Finally, after months of hard work, I'm glad to announce my mysterious (not on Discord) project,
Mushroom Studio! Here is the current look of the application (It's still WIP):
What is Mushroom Studio?
Mushroom Studio is an open source tool whose aim is to become an Integrated Hacking Environment for SM64, a fully functional environment that will help the hacker to be more productive through the automation of many tasks, combined with the power of a user friendly interface. Even if at the first releases it will be able to do only some basic level editing operations, I'm willing to add many functionalities.
Special Thanks
I would like to thank queueRAM for creating n64split and helped me on various subjects concerning SM64 hacking. Also, I thank a lot many members of the SM64 hacking community, some of then inactive by years, who left exceptional hacking notes and guides, and some who responded to my questions about SM64.
I also thank the contributors of Helix Toolkit, even if it's difficult that they'll see this post.
Finally, I want to say a big thank to everyone is believing in this project, and is looking forward to it: You give me the force to keep me motivated succeed in a task where many failed.
FAQ
Why the terrain of the level has those strange colors and has no textures?
Unfortunately, n64split v0.4a extracts from the ROM only the collision maps of the levels, coloring the various surfaces depends on their collision types. It is possible to get the visual maps from the raw ROM data, but it needs a good understanding of F3D commands that currently I don't have, so, for now, I stick with collision maps.
Why there are so few features? What were you doing all the time?
Adding a new feature to a hacking tool requires a lot of work: You have to study the subject; create a formalized model (an algorithm) to make the editing process possible; implement the model as code and use different inputs to test if the algorithm works properly. However, that does not explain the whole thing. When I said on the IRC channel that I was making a mysterious "hacking tool" (It was the second half of November), I've started doing my first serious WPF practices something like two weeks before. I hope that new features will take less time to implement since I'm now more confident with WPF (even if not 100%).
Does it run on Linux or Mac?
Unfortunately no, since WPF is windows only. However, if you really want to try this tool, you can install VirtualBox on Linux/Mac and run Windows on it (you can make a windows 10 iso through the media creation tool provided by Microsoft, for free).
Will it support extended ROMs?
Probably, even if not at the first release. Extended ROM support could be useful in the short term because it adds compatibility with other tools that work on extended and patched ROMs (e.g. Super Mario Editor). However, in the long term, since n64split has a huge pontential, it would be a huge step forward if we get rid of the concept of working on a built ROM, and we begin to think in terms of
building a ROM based on a set of assets that we modify or add. Then, we won't need anymore extended ROMs, unless for retrocompatibility.
Will it support other N64 games?
I'm not planning to support other games, since the amount of work is already big focusing on SM64. However, the license lets you reuse and adapt the code of Mushroom Studio to support other games.
How can I contribute to the project?
The most helpful thing you can do is to play around with the program to see if any of its functionalities have bugs. Even if you can't use it now to effectively hack ROMs, you'll help me a lot if you can track down issues and show me if you like or not the design decisions I have made.
I also made a
wiki for who wants to furtherly develop Mushroom Studio.
Links
Trello Group
GitHub repository